package com.rx.core.handler;

import com.rx.core.base.RxBaseConstant;
import com.rx.core.enm.HANDLER_TYPE;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;

import java.lang.annotation.*;

/**
 * 所有版权归 广西梧州 陈锦韬 所有
 *
 * @version V1.0
 * @Title: RxHandler
 * @Package com.rx.core.handler
 * @Description: 操作前处理
 * @author: 陈锦韬
 * @date: 2021\6\11 0011
 * @Copyright: 2021 陈锦韬  All rights reserved.
 */
@Target({ElementType.TYPE,ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Lazy
@Scope(value = "prototype")
public @interface RxHandlerPrev {
    String value() default "";
    // 包含的处理类型 如单表详情、单表列表，等
    HANDLER_TYPE[] types() default {HANDLER_TYPE.NONE};
    // 排除的处理类型。
    HANDLER_TYPE[] extypes() default {};
    // 包含的url 请求
    String[] keys() default {RxBaseConstant.DEFAULT_URL_KEY};
    // 排除的url 请求
    String[] exkeys() default {};
    // 排序
    int order() default 0;
}
